package com.lanchetech.admin.service;


import com.lanchetech.bean.request.CommissionRecordPageReq;
import com.lanchetech.bean.request.FreezeAmountReq;
import com.lanchetech.bean.request.PageReq;
import com.lanchetech.bean.response.BasePageResp;
import com.lanchetech.bean.response.BaseResp;
import com.lanchetech.bean.response.ResultData;
import com.lanchetech.bean.vo.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.math.BigDecimal;

public interface FundService {
    ResultData<BasePageResp<BalanceFlowVO>> getBalanceFlowPage(PageReq req);

    ResultData<BasePageResp<CoinFlowVO>> getCoinFlowPage(PageReq req);

    ResultData<BasePageResp<CommissionRecordVO>> getCommissionRecordPage(CommissionRecordPageReq req);

    ResultData<BigDecimal> getCommissionSum(PageReq req);

    BaseResp issueCommissionDirect(BigDecimal amount, Long userId);

    BaseResp issueCoinDirect(BigDecimal coin, Long userId);

    ResultData<BasePageResp<TenantWithdrawVO>> getAllTenantWithdrawPage(PageReq req);

    BaseResp auditTenantWithdraw(TenantWithdrawVO req);

    ResultData<BasePageResp<TenantFlowVO>>  getTenantFlowPage(PageReq req);

    ResultData<BasePageResp<FreezeAmountVO>> getFreezeAmountPage(FreezeAmountReq req);

}